<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
	<th:block th:include="include :: header('数据源列表')" />
</head>
<body class="gray-bg">
    <div class="container-div">
		<div class="row">
			<div class="col-sm-12 search-collapse">
				<form id="notice-form">
					<div class="select-list">
						<ul>
							<li>
								所属租户：<select id="tenantCode" name="tenantCode">
									<option value="">所有</option>
									<option th:each="tenant:${tenants}" th:value="${tenant.tenantCode}" th:text="${tenant.tenantName}"></option>
								</select>
							</li>
							<li>
								<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
								<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
							</li>
						</ul>
					</div>
				</form>
			</div>
			
	        <div class="btn-group-sm" id="toolbar" role="group">
		        <a class="btn btn-success" onclick="$.operate.addFull()" shiro:hasPermission="system:datasource:add">
		            <i class="fa fa-plus"></i> 新增
		        </a>
		        <a class="btn btn-primary single disabled" onclick="$.operate.editFull()" shiro:hasPermission="system:datasource:edit">
		            <i class="fa fa-edit"></i> 修改
		        </a>
		        <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:datasource:remove">
		            <i class="fa fa-remove"></i> 删除
		        </a>
	        </div>
	        
	        <div class="col-sm-12 select-table table-striped">
	            <table id="bootstrap-table" data-mobile-responsive="true"></table>
	        </div>
    	</div>
    </div>
    <th:block th:include="include :: footer" />
    <script th:inline="javascript">
        var editFlag = [[${@permission.hasPermi('system:datasource:edit')}]];
        var removeFlag = [[${@permission.hasPermi('system:datasource:remove')}]];
        var flags = [[${@dict.getType('sys_database_flag')}]];
		var types = [[${@dict.getType('sys_database_type')}]];
        var prefix = ctx + "system/datasource";

        $(function() {
            var options = {
                url: prefix + "/list",
                createUrl: prefix + "/add",
                updateUrl: prefix + "/edit/{id}",
                removeUrl: prefix + "/remove",
                modalName: "数据源",
                columns: [{
		            checkbox: true
		        },
				{
					field : 'datasourceCode',
					title : '编码'
				},
				{
					field : 'databaseIp',
					title : '数据库IP'
				},
				{
					field : 'databasePort',
					title : '端口'
				},
				{
					field : 'databaseDriverClassName',
					title : '数据库类型',
					align: 'center',
					formatter: function(value, row, index) {
						return $.table.selectDictLabel(types, value);
					}
				},
				{
					field : 'databaseName',
					title : '数据库名',
				},
				{
					field : 'databaseUsername',
					title : '用户名'
				},
				{
		            field: 'databaseFlag',
		            title: '标识',
		            align: 'center',
		            formatter: function(value, row, index) {
		            	return $.table.selectDictLabel(flags, value);
		            }
		        },
				{
		            field: 'status',
		            title: '状态',
		            align: 'center',
		            formatter: function(value, row, index) {
						return statusTools(row);
		            }
		        },
				{
					field: 'tenant.tenantName',
					title: '租户'
				},
				{
					field : 'createBy', 
					title : '创建者' 
				},
				{
		            field: 'createTime',
		            title: '创建时间',
		            sortable: true
		        },
		        {
		            title: '操作',
		            align: 'center',
		            formatter: function(value, row, index) {
		            	var actions = [];
		            	actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.editFull(\'' + row.datasourceCode + '\')"><i class="fa fa-edit"></i>编辑</a> ');
                        actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.datasourceCode + '\')"><i class="fa fa-remove"></i>删除</a> ');
						actions.push('<a class="btn btn-info btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="setApplication(\'' + row.datasourceCode + '\')"><i class="fa fa-plus"></i>关联子系统</a> ');
                        return actions.join('');
		            }
		        }]
            };
            $.table.init(options);
        });


		/* 用户状态显示 */
		function statusTools(row) {
			if (row.status == 1) {
				return '<i class=\"fa fa-toggle-off text-info fa-2x\" onclick="enable(\'' + row.datasourceCode + '\')"></i> ';
			} else {
				return '<i class=\"fa fa-toggle-on text-info fa-2x\" onclick="disable(\'' + row.datasourceCode + '\')"></i> ';
			}
		}

		/* 用户管理-停用 */
		function disable(datasourceCode) {
			$.modal.confirm("确认要停用吗？", function() {
				$.operate.post(prefix + "/changeStatus", { "datasourceCode": datasourceCode, "status": 1 });
			})
		}

		/* 用户管理启用 */
		function enable(datasourceCode) {
			$.modal.confirm("确认要启用吗？", function() {
				$.operate.post(prefix + "/changeStatus", { "datasourceCode": datasourceCode, "status": 0 });
			})
		}
		/* 数据源关联子系统 */
		function setApplication(datasourceCode) {
			var url = prefix + '/setApplication/' + datasourceCode;
			$.modal.open("关联子系统", url);
		}
    </script>
</body>
</html>